/***
 * API: Interfaz de Integracion hacia el sistema SUB. 
 * Copyright (c) 2011 Alcaldia de Medellin.
 * Subsecretaria de Tecnologia de Informacion. 
 * Todos los Derechos Reservados.
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 * 
 */
package defecto;

import java.io.Serializable;

/**
 * Clase Value Object, Correspondiente al Bean que representa a la entidad
 * devuelta por el web service Registro publicado por accion social, el cual
 * accede a la base de datos del SIPOD, encapsula los datos en un objeto para un
 * uso mas seguro y eficiente de los datos al enviarse como parametros entre
 * metodos.
 * 
 * @author Consult-Soft S.A.
 * @version 4.0 28/11/2011
 * @since 1.4
 */
public class SipodVO implements Serializable {

    // ------------------------------------------------------------------------
    // Atributos Locales - RUPD
    // ------------------------------------------------------------------------

    /**
     * Evita que haya problemas de versiones al enviar objetos serializados a
     * traves de la red o por llamadas RPC y RMI.
     */
    private static final long serialVersionUID = -5108208941193037481L;

    /**
     * Indica si el desplazamiento ha sido individual o grupal o alguna razon
     * por la que el beneficiario es desplazado.
     */
    private String tipoDesplazamiento;

    /**
     * Define el sexo de la persona, tiene valores (Hombre / Mujer)
     */
    private String sexo;

    /**
     * Indica si el usuario esta activo en el siste de registro unico de
     * poblacion desplazada (RUPD).
     */
    private String activo;

    /**
     * Tambien conocido como el Codigo SIPOD, es el identificador unico para
     * cada usuario del sistema.
     */
    private String idPersona;

    /**
     * Es un codigo unico que tambien se le asigna al beneficiario.
     */
    private String declaracion;

    /**
     * Departamento/Municipio en el que el beneficiario se declara como
     * desplazado, es decir, donde es hecho el registro.
     */
    private String deparMunDeclaracion;

    /**
     * Departamento/Municipio en el que residia el beneficiario, o de donde fue
     * desplazado.
     */
    private String deparMunExpulcion;

    /**
     * Indica el estado del beneficiario con respecto al sistema SIPOD, si este
     * esta incluido o no.
     */
    private String estado;

    /**
     * Fecha en la que el beneficiario se declara como desplazado.
     */
    private String fechaDeclaracion;

    /**
     * Fecha en la que ocurre el flagelo y es desplazado de su residencia.
     */
    private String fechaDesplaz;

    /**
     * Fecha en la que se aprueba su vinculacion al sistema de poblacion
     * desplazada RUPD - SIPOD.
     */
    private String fechaVinculacion;

    /**
     * Relacion o parentesco del beneficiario con respecto al jefe de hogar.
     */
    private String relacion;

    /**
     * !!VALOR PENDIENTE!! --- en revision
     */
    private String seDesplazo;

    // ------------------------------------------------------------------------
    // Atributos Locales - SIPOD
    // ------------------------------------------------------------------------

    /**
     * Tambien conocido como el Codigo SIPOD, es el identificador unico para
     * cada usuario del sistema.
     */
    private String id;

    /**
     * Primer nombre de la persona beneficiaria.
     */
    private String nombre1;

    /**
     * Segundo nombre del beneficiario, puede ser NULL.
     */
    private String nombre2;

    /**
     * Primer apellido del beneficiario.
     */
    private String apellido1;

    /**
     * Segundo apellido del beneficiario, puede ser NULL.
     */
    private String apellido2;

    /**
     * Tipo de documento de la persona registrada en el SIPOD, este contiene el
     * nombre del tipo por ejemplo: cedula de ciudadania - CC.
     */
    private String tipoDocumento;

    /**
     * Numero del documento con el que esta registrado el beneficiario en el
     * sistema.
     */
    private String documento;

    // ------------------------------------------------------------------------
    // Constructor
    // ------------------------------------------------------------------------

    /**
     * Crea un beneficiario Sipod sin inicializar.
     */
    public SipodVO() {
    }

    // ------------------------------------------------------------------------
    // ACCESORES - GETTERS
    // ------------------------------------------------------------------------

    public String getActivo() {
	return this.activo;
    }

    public String getApellido1() {
	return this.apellido1;
    }

    public String getApellido2() {
	return this.apellido2;
    }

    /**
     * Es un codigo unico que tambien se le asigna al beneficiario. Corresponde
     * al numero de la peticion o declaracion, es diferente al codigo Sipod.
     * 
     * @return El numero de la declaracion, tipo String.
     */
    public String getDeclaracion() {
	return this.declaracion;
    }

    public String getDeparMunDeclaracion() {
	return this.deparMunDeclaracion;
    }

    public String getDeparMunExpulcion() {
	return this.deparMunExpulcion;
    }

    public String getDocumento() {
	return this.documento;
    }

    /**
     * Indica el estado del beneficiario con respecto al sistema SIPOD, si este
     * esta incluido o no.
     * 
     * @return El valor de este campo en tipo String. Puede ser incluido o no
     *         incluido.
     */
    public String getEstado() {
	return this.estado;
    }

    public String getFechaDeclaracion() {
	return this.fechaDeclaracion;
    }

    public String getFechaDesplaz() {
	return this.fechaDesplaz;
    }

    public String getFechaVinculacion() {
	return this.fechaVinculacion;
    }

    /**
     * Retorna el Id unico del beneficiario para consulta en el SIPOD.
     * 
     * @return El Valor del Campo Id de la tabla, tipo String.
     */
    public String getId() {
	return this.id;
    }

    /**
     * Tambien conocido como el Codigo SIPOD, es el identificador unico para
     * cada usuario del sistema.
     * 
     * @return El codigo Sipod en tipo String.
     */
    public String getIdPersona() {
	return this.idPersona;
    }

    public String getNombre1() {
	return this.nombre1;
    }

    public String getNombre2() {
	return this.nombre2;
    }

    public String getRelacion() {
	return this.relacion;
    }

    public String getSeDesplazo() {
	return this.seDesplazo;
    }

    public String getSexo() {
	return this.sexo;
    }

    public String getTipoDesplazamiento() {
	return this.tipoDesplazamiento;
    }

    public String getTipoDocumento() {
	return this.tipoDocumento;
    }

    // ------------------------------------------------------------------------
    // MUTADORES - SETTERS
    // ------------------------------------------------------------------------

    public void setActivo(String activo) {
	this.activo = activo;
    }

    public void setApellido1(String apellido1) {
	this.apellido1 = apellido1;
    }

    public void setApellido2(String apellido2) {
	this.apellido2 = apellido2;
    }

    public void setDeclaracion(String declaracion) {
	this.declaracion = declaracion;
    }

    public void setDeparMunDeclaracion(String deparMunDeclaracion) {
	this.deparMunDeclaracion = deparMunDeclaracion;
    }

    public void setDeparMunExpulcion(String deparMunExpulcion) {
	this.deparMunExpulcion = deparMunExpulcion;
    }

    public void setDocumento(String documento) {
	this.documento = documento;
    }

    public void setEstado(String estado) {
	this.estado = estado;
    }

    public void setFechaDeclaracion(String fechaDeclaracion) {
	this.fechaDeclaracion = fechaDeclaracion;
    }

    public void setFechaDesplaz(String fechaDesplaz) {
	this.fechaDesplaz = fechaDesplaz;
    }

    public void setFechaVinculacion(String fechaVinculacion) {
	this.fechaVinculacion = fechaVinculacion;
    }

    public void setId(String id) {
	this.id = id;
    }

    public void setIdPersona(String idPersona) {
	this.idPersona = idPersona;
    }

    public void setNombre1(String nombre1) {
	this.nombre1 = nombre1;
    }

    public void setNombre2(String nombre2) {
	this.nombre2 = nombre2;
    }

    public void setRelacion(String relacion) {
	this.relacion = relacion;
    }

    public void setSeDesplazo(String seDesplazo) {
	this.seDesplazo = seDesplazo;
    }

    public void setSexo(String sexo) {
	this.sexo = sexo;
    }

    public void setTipoDesplazamiento(String tipoDesplazamiento) {
	this.tipoDesplazamiento = tipoDesplazamiento;
    }

    public void setTipoDocumento(String tipoDocumento) {
	this.tipoDocumento = tipoDocumento;
    }
}
